package com.googlecode.gaal.suffix.api;

import java.util.Iterator;

import com.googlecode.gaal.data.api.IntSequence;
import com.googlecode.gaal.data.api.Multiset;
import com.googlecode.gaal.suffix.api.BinaryIntervalTree.BinaryNode;
import com.googlecode.gaal.suffix.api.EmbeddedSuffixTree.EmbeddedInterval;

public interface EmbeddedSuffixTree extends SuffixArray, BinaryIntervalTree<EmbeddedInterval> {

    public interface EmbeddedInterval extends BinaryNode<EmbeddedInterval> {

        public IntSequence embeddingIndices();
        
        public Interval getEmbeddingInterval();

        public Iterator<IntSequence> fillerIterator();

        public Multiset<IntSequence> fillerSet();

    }

}
